<?php
/**
 * @title 1544. 整理字符串 - 指针
 * @author start2004
 */

// ini_set("memory_limit", "128M");


class Solution {

    /**
     * @param String $s
     * @return String
     */
    function makeGood($s) {
        /**
         * @since 2021-09-06 长度
         */
        $len = strlen($s);

        /**
         * @since 2021-09-06 返回字符串
         */
        $result = "";

        /**
         * @since 2021-09-06 返回字符串长度
         */
        $resultLen = 0;

        /**
         * @since 2021-09-06 指针
         */
        for($i=0; $i<$len;){
            if($resultLen == 0){
                if($i+1 < $len){
                    if(abs(ord($s[$i]) - ord($s[$i+1])) == 32){
                        /**
                         * @since 2021-09-06 同字母,大小和小写
                         */
                    } else {
                        $result[$resultLen] = $s[$i];
                        $result[$resultLen+1] = $s[$i+1];
                        $resultLen += 2;
                    }
                    $i += 2;
                } else {
                    $result[$resultLen] = $s[$i];
                    $resultLen++;
                    $i++;
                }
            } else {
                /**
                 * @since 2021-09-06 和result最后一个字符比较
                 */
                if(abs(ord($result[$resultLen-1]) - ord($s[$i])) == 32){
                    $resultLen--;
                } else {
                    $result[$resultLen] = $s[$i];
                    $resultLen++;
                }

                $i++;
            }
        }

        /**
         * @return
         */
        return substr($result, 0, $resultLen);
    }
}


/**
 * @url http://127.0.0.1/leetcode/202008/2020.08.11_8.php
 */
$datas = [
    "leEeetcode",
    "abBAcC",
    "abBcCA",
    "s"
];

include_once dirname(__DIR__) . DIRECTORY_SEPARATOR ."xhprof.php";
$xhprof = new Xhprof();
foreach ($datas as $data){
    var_dump($data);

    $obj = new Solution();
    $result = $obj->makeGood($data);
    var_dump($result);
    echo str_repeat("<br>", 3);
}
$xhprof->end();
